#include <iostream>
#include <vector>
#include <string.h>
using namespace std;
struct Node
{
    int value;
    Node *next;
    Node *prev;
    Node(int data):value(data),next(nullptr),prev(nullptr)
    {}
};

class stack
{
    private:
    Node *_Topnode;

    public:
   //构造函数
   stack():_Topnode(nullptr)
   {}
   //析构函数
   ~stack()
   {
    // while(_Topnode !=nullptr)
    // {
    //    pop();
    // }
   }

   void push_back(int data)
   {
        //new一个节点对象
        Node* newnode=new Node(data);
         newnode->next=nullptr;
         Node *tmp =_Topnode;
         _Topnode=newnode;
         _Topnode->prev =tmp;
        
   }
   void pop()
   {
        //判断队列是否为空
        if(_Topnode == nullptr)
        {
            //为空输出error
            cout<<"error"<<endl;
            return;
        }
        Node *tmp=_Topnode;
        _Topnode=_Topnode->prev;
        cout<<tmp->value<<endl;
        //出栈
        delete tmp;
   }
    void Top()
    {
         //判断队列是否为空
        if(_Topnode == nullptr)
        {
            //为空输出error
            cout<<"error"<<endl;
        }
        else 
        {
         cout<< _Topnode->value<<endl;
        }
    }
};

int main()
{
    stack s;
    string str;
    int n,m;
    cin >> n;
   while( n--)
   {
    cin>>str;
    if(str == "push")
    {
        cin>> m;
        s.push_back(m);
    }
    else if(str == "pop")
    {
        s.pop();
    }
    else if(str == "top")
    {
       s.Top();
    }
   }

    return 0;
}


// class stack
// {
//     public:
//     void push_back(int x)//插入
//     {
//         v.push_back(x);
//     }
//     int get_top()
//     {
//          if(v.empty())
//         {
//             cout<<"error";
//             return 0;
//         }
//         int m=0;
//         for(int i=0;i<v.size();i++)
//         {
//             m=v[i];
//         }
//         return m;
//     }
//     void pop()
//     {
//         if(v.empty())
//         {
//             cout<<"error";
//             return;
//         }
//        cout<<get_top();
//         v.pop_back();
        
//     }

//     private:
//    vector <int>v;
// };
// int main() {
//    stack s;
// }
// 64 位输出请用 printf("%lld")